/* * Author: Chris Seguin * * This software has been developed under the copyleft * rules of the GNU General Public License. Please * consult the GNU General Public License for more * details about use and distribution of this software. */ package org.acm.seguin.pretty; import org.acm.seguin.parser.Node; /** * Consume newline (whitespace) special tokens * *@author Chris Seguin *@created October 14, 1999 *@date April 10, 1999 */ public class PrintSpecialNewline extends PrintSpecial { /** * Determines if this print special can handle the current object * *@param spec Description of Parameter *@return true if this one should process the input */ public boolean isAcceptable(SpecialTokenData spec) { int tokenType = spec.getTokenType(); return ((tokenType >= 5) || (tokenType <= 7)); } /** * Processes the special token * *@param node the type of node this special is being processed for *@param spec the special token data *@return Description of the Returned Value */ public boolean process(Node node, SpecialTokenData spec) { if (spec.isAcceptingReturns()) { boolean result = spec.getPrintData().consumeNewline(); spec.setReturnExpected(result); return true; } return false; } }